home *** CD-ROM | disk | FTP | other *** search
- Path: newsserver.rrzn.uni-hannover.de!tubsibr!hoffmann
- From: hoffmann@ibr.cs.tu-bs.de (Michael Hoffmann)
- Newsgroups: comp.sys.m68k
- Subject: Re: [?] Wait state generator - 68k
- Date: 26 Mar 1996 15:22:03 GMT
- Organization: TU Braunschweig, Informatik (Bueltenweg), Germany
- Distribution: world
- Message-ID: <4j922r$7tm@ra.ibr.cs.tu-bs.de>
- References: <4j5hc2$roc@pulp.ucs.ualberta.ca> <4j7j56$ffc@pulp.ucs.ualberta.ca>
- NNTP-Posting-Host: ares.ibr.cs.tu-bs.de
-
- jdv@ee.ualberta.ca (John Voth) writes:
-
- (some original stuff deleted)
-
- > Looking in the Motorola databooks, the waveforms for asynchronous bus
- > cycles show that DTACK and AS are de-asserted at the same time. I would
- > like to know which one has to or needs to be de-asserted before the
- > other. That is to ask, which one is de-asserted first?
- The correct sequence for these transitions is to hold DTACK in active
- state at least until AS is deasserted.
-
- > Another question, if the mc68k continuously monitors the DTACK line
- > - waiting for it to be asserted then does the mc68k wait until it is
- > de-asserted before ending the bus cycle?
- Definitely NOT.
-
- > Or does the mc68k end the bus cycle immediately after receiving the
- > DTACK signal?
- Yep. That's better, although "immediately" is not exactly the term I
- would use for this because it all depends on the CPU clock: The CPU
- samples the DTACK-line at the falling edge of CLK and, if DTACK is
- valid at that time, deasserts AS on the next falling edge.
-
- > I am wondering if I can simply hold the DTACK asserted until I want to
- > let it go ( presumeably that's when I want to stop adding wait states )
- > then allow the mc68k end the bus cycle?
- Just do it the other way round: Hold DTACK DEasserted until you want
- to stop adding wait states.
-
- > At the moment, I am creating a state machine inside a EP-610 PLD that
- > will sense AS and READY. It will generate a DTACK signal ( duration =
- > 1,2 or 3 clock cycles long ) upon sensing a positive transistion of the
- > READY signal. It's alot of work just to create DTACK so, if there are
- > any short cuts that I can take, I would like to find them soon. Thus all
- > the questions the DTACK and AS signal timing.
-
- The general idea of DTACK is simply to leave it DEASSERTED while you
- want to fill in wait states and to ASSERT it when you want to end the
- current bus cycle. After this, you should release it as a reaction to
- the deassertion of AS.
-
- Coming back to the original problem, I think it should be possible to
- generate the DTACK out of something like 'READY * AS' (* meaning logic
- AND) using the activation of READY to assert DTACK and the deassertion
- of AS to release DTACK. Maybe you have to additionally qualify this
- with the chip select signal of your peripheral if READY is activated
- without the chip actually being selected.
-
-
- ---------------------------------------------
- Michael Hoffmann
- Technical University of Braunschweig, Germany
- hoffmann@ibr.cs.tu-bs.de
- ---------------------------------------------
-